패스트캠퍼스 올인원 패키지 - 컴퓨터 공학을 보고 정리하는 용도의 포스팅입니다.
CPU Protection Rings
CPU도 권한 모드가 있다
- 사용자 모드 (user mode by applications)
- 응용 프로그램이 사용
- 커널 모드 (kernel mode by OS)
- OS가 CPU를 사용할때 쓰는 모드
- 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근 가능모드
실질적으로는 ring0과 ring3만 사용한다고 함.
ring3 = 사용자, ring0 = 커널
사용자 모드와 커널 모드
응용 프로그램이 함부로 전체 컴퓨터 시스템에 영향을 끼칠수 없음
- 영향을 끼치려면? 악성 코드가 들어있으면 가능
응용 프로그램과 운영체제
위의 그림처럼 우리가 만들고 사용하는 프로그램은 가장 윗 단.
시스템콜은 커널 모드로 실행
- 커널 모드에서만 실행 가능한 기능들이 있음
- 커널 모드로 실행하려면 반드시 시스템 콜을 사용해야 함
- 시스템 콜은 운영체제 제공
정리
-
운영체제는 시스템 콜 제공
-
프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API제공
-
응용 프로그램은 운영체제 기능 필요시, 해당 API를 사용해서 프로그램 작성
-
시스템 콜을 사용하게 되는 전체적인 흐름은 다음과 같다
-
응용 프로그램 실행
-
운영체제 기능이 필요한 API호출
- 시스템 콜 호출
- 커널 모드 변경 -> OS 내부에서 해당 명령 실행
- 다시 응용프로그램으로 돌아감
-
Comments